MAC下保持程序后台运行不被干掉

# MAC keep aliving
if platform.system( ) != 'Windows':
    import appnope
    appnope.nope( )
在 Android 后台静默截屏需要使用系统权限,因此需要在 AndroidManifest.xml 文件中添加权限声明: ```xml <uses-permission android:name="android.permission.READ_FRAME_BUFFER"/> ``` 然后可以使用以下代码进行截屏: ```java // 获取屏幕宽高 DisplayMetrics metrics = new DisplayMetrics(); WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); windowManager.getDefaultDisplay().getMetrics(metrics); int width = metrics.widthPixels; int height = metrics.heightPixels; // 获取屏幕截图 Bitmap screenshot = null; try { screenshot = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(screenshot); Method method = Class.forName("android.view.SurfaceControl").getDeclaredMethod("screenshot", int.class, int.class); method.setAccessible(true); Object[] args = new Object[]{width, height}; method.invoke(null, args); Bitmap bitmap = (Bitmap) args[0]; canvas.drawBitmap(bitmap, 0, 0, null); } catch (Exception e) { e.printStackTrace(); } // 保存截图到文件 FileOutputStream fos = null; try { fos = new FileOutputStream(new File("/sdcard/screenshot.png")); screenshot.compress(Bitmap.CompressFormat.PNG, 100, fos); fos.flush(); } catch (Exception e) { e.printStackTrace(); } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 需要注意的是,这种方式只能在拥有系统权限的情况下使用,普通应用程序无法使用该方法进行截屏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值